JIVE: A Pedagogic Tool for Visualizing the Execution of Java Programs
نویسندگان
چکیده
We describe a pedagogic tool called JIVE (Java Interactive Visualization Environment) for clarifying the dynamic behavior of Java programs. The tool has the following main goals: provide clear visualizations of execution state and call history, with varying levels of granularity; show method calls within object contexts; support declarative queries over executions; and, support forward and reverse stepping. JIVE employs extensions of UML object and sequence diagrams to represent execution state and call history. While these diagrams are normally used as design-time specifications, their use for depicting run-time behavior helps close the gap between design and execution. We illustrate the use of JIVE for understanding typical data structure operations. JIVE has been tested in programming language courses for the past three years.
منابع مشابه
Integrating Simplify into Jive
In cooperation with University of Kaiserslautern, the Software Component Technology Group works on the Java Interactive Verification Environment, Jive. Jive allows one to interactively prove that JML annotated Java programs fulfill their specifications. Currently, the interactive theorem prover Isabelle is used for specification and verification of general properties that are not directly relat...
متن کاملScalable Visualizations and Query-Based Debugging
Interactive run-time visualization of object-oriented software requires views of the current state as well as the execution history. However, as software complexity grows, runtime visualizations become unwieldy and their effectiveness quickly degrades, necessitating techniques to scale the them gracefully without compromising their meaning. The main contribution of this paper is showing that de...
متن کاملReification of Program Points for Visual Execution
Existing reification techniques for Java only allow for inspection and manipulation of Java programs on the class, object and method level, but not at the level of individual program points. In this paper we introduce a reification technique of program points based on source-tosource transformations. Our reification method allows for the association of arbitrary meta-information with program po...
متن کاملA Tool for Visualizing the Execution of Programs and Stack Traces Especially Suited for Novice Programmers
Software engineering education and training has obstacles caused by a lack of basic knowledge about a process of program execution. The article is devoted to the development of special tools that help to visualize the process. We analyze existing tools and propose a new approach to stack and heap visualization. The solution is able to overcome major drawbacks of existing tools and suites well f...
متن کاملJhavepop: Visualizing Linked-list Operations in C++ and Java
JHAVEPOP is a program visualization tool specialized in elementary pointer and linkedlist operations. JHAVEPOP is a web-started application pre-packaged with ready-made programming exercises in both Java and C++. The only preparation needed by instructors to use JHAVEPOP is telling their students what URL to load in their browsers. Once there, students read the problem statement, enter their pr...
متن کامل